Case 02 · Portfolio

A self-serve channel for customers without email.

Diagnose the workflow. Define the requirement. Direct the build.

Bottleneck
Ops emailed certs to email-less customers, one at a time
Requirement
Self-serve lookup — older customers on phones, no account
Outcome
~30 hours of ops time eliminated per cycle
certs.alfajr.sg
AL FAJR SG · KORBAN 2026
Find Your Certificate
Enter your Order ID to view all certificates tied to your order.
3 certificates found for Order #1590
PDF 1590 - Yusuf Ibrahim.pdf View Download
PDF 1590 - Aisha Ibrahim.pdf View Download
PDF 1590 - Hamza Ibrahim.pdf View Download

What it saved per cycle

Before
~30 hours
Ops digging through folders, emailing certs one at a time. Customers waited 1–2 days.
After
Instant
Customer enters Order ID, downloads in seconds. Zero ops involvement.
Saved per cycle
~30 hours
Ops time reclaimed. Customer wait drops from days to seconds.

Where the bottleneck lived

Before
Customer needs cert
No email on file
⚠ Bottleneck Calls / messages ops · ops digs through folders · sends manually ~10 min per request · 1–2 day wait for customer
Customer receives cert
After
Customer needs cert
✓ Self-serve Visits site · enters Order ID no account · no login
✓ Instant Downloads cert(s) multi-recipient orders show together

What the solution needed to do

  1. 01
    Self-serve for customers without email on file
    No email-only delivery — customers must be able to retrieve their cert directly.
  2. 02
    Single field — Order ID only, no account, no login
    User base includes older customers on phones who won't navigate sign-up flows.
  3. 03
    Show all certs for a multi-recipient order together
    A family ordering for three relatives sees all three certs on one page — no dropdowns.
  4. 04
    Free to host, no ongoing ops cost
    Static site so it can sit on free hosting indefinitely with zero maintenance.
  5. 05
    Order IDs are guessable — protect the actual PDFs
    Protect access via randomized internal filenames, not via a login wall the user can't navigate.